/* 
    find()
    找到数组中第一次满足条件的元素， 并返回， 若找不到则返回undefined。 不改变原数组。
    和filter() 方法的区别在于： filter返回值是所有满足条件的元素组成的数组，
*/

function find(arr, callback) {
    // 遍历数组
    for (let i = 0; i < arr.length; i++) {
        // 执行回调
        let res = callback(arr[i], i);
        // 如果为真 则返回当前元素
        if (res) {
            return arr[i]
        }

    }
    // 如果没有找到满足条件的 就返回undefined
    return undefined;
}